package com.zlc.common.model.user;

import com.zlc.common.core.user.model.vo.MayanPlatUserVo;
import com.zlc.common.model.dept.DeptUserVo;
import com.zlc.common.model.role.DataRoleVo;
import com.zlc.common.model.role.UserRoleVo;
import com.zlc.common.model.position.PositionUserVo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

@Data
@Accessors(chain = true)
public class UserInfo {

    @ApiModelProperty(value="用户账号")
    private String userAccount;

    @ApiModelProperty(value="token")
    private String token;

    @ApiModelProperty(value = "登录时间")
    private Date loginTime;

    @ApiModelProperty(value="是否需要修改密码")
    private Boolean needChangePassFlag = false;

    @ApiModelProperty(value="用户基本信息")
    private MayanPlatUserVo user;

    @ApiModelProperty(value="用户全部角色信息")
    private List<UserRoleVo> roles = new ArrayList<>();

    @ApiModelProperty(value="用户全部岗位信息")
    private List<PositionUserVo> positions = new ArrayList<>();

    @ApiModelProperty(value="用户全部部门信息")
    private List<DeptUserVo> depts = new ArrayList<>();

    @ApiModelProperty(value="用户数据权限")
    private DataRoleVo dataRole;
}
